package com.example.test010;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/**
 * 测试ScheduledExecutorService接口中延迟执行任务和重复执行任务功能
 */
public class ScheduledExecutorServiceDemo01 {
    public static void main(String[] args) {
//      1.具备延迟执行任务的线程池对象  （线程池里面最多有三个）
        ScheduledExecutorService es = Executors.newScheduledThreadPool(3);

//      2.创建多个任务对象，提交任务，每个任务延迟执行
//        es.schedule(new MyRunnable(1),2, TimeUnit.SECONDS);
        for (int i = 1; i < 10; i++) {
            es.schedule(new MyRunnable(i), 2, TimeUnit.SECONDS);
        }
//      main方法结束标志
        System.out.println("over");
    }
}

class MyRunnable implements Runnable {

    private int id;

    @Override
    public void run() {
        String name = Thread.currentThread().getName();
        System.out.println(name + "执行了任务编号" + id);
    }

    public MyRunnable(int id) {
        this.id = id;
    }

}
